Kích hoạt AutoRun AutoRun

Trình tự AutoRun bắt đầu với khám phá ban đầu của một thiết bị mới hoặc một phương tiện mới.. Sau khi kiểm tra các thiết lập Windows Registry nhất định để theo dõi điều này, thông báo về các bên quan tâm xảy ra, trong đó vỏ Windows Explorer là mối quan tâm chính. Sau khi thấy nếu AutoRun có thể tiến hành, thì phân tích cú pháp của một autorun.inf tùy chọn có thể xảy ra và bất kỳ hành động cần thiết nào sẽ được thực hiện.

Trình tự ban đầu được xử lý giống nhau trong mọi phiên bản Windows từ Windows 95. Tuy nhiên, cách tệp autorun.inf được đọc và hành động theo và mức tích hợp của AutoRun với AutoPlay đã thay đổi đáng kể so với thời gian AutoPlay được giới thiệu trong Windows XP cho đến cách xử lý hiện tại trong Windows 7. Trong Windows 10, Microsoft đã thêm tùy chọn để bật tự động chạy trong cài đặt của nó. Không chỉ người dùng có thể bật tính năng này mà còn có thể chọn các thiết bị bên ngoài cụ thể được tự chạy.

Khởi động và thông báo

Khi một thiết bị có trình điều khiển tương thích AutoRun nhận được phương tiện mới, thì sự kiện "Thông báo thay đổi phương tiện" xảy ra. Hệ điều hành Windows sau đó thông báo cho các ứng dụng quan tâm rằng một sự thay đổi thiết bị đã xảy ra. Phương thức thông báo được sử dụng có thể thay đổi tùy thuộc vào loại thiết bị.

Nếu thiết bị thay đổi là một ổ đĩa (như CD) hoặc cổng (như cổng nối tiếp), Windows sẽ phát thông báo WM_DEVICECHANGE tới tất cả các cửa sổ cấp cao nhất.[2][3] Windows gọi đây là thông báo "cơ bản". Một cửa sổ cấp cao nhất là một cửa sổ con của màn hình nền.

Tuy nhiên, nếu thiết bị thay đổi không phải là một trong những loại ứng dụng này, một ứng dụng có thể gọi hàm RegisterDeviceNotification để đăng ký nhận thông báo thiết bị.[4]

Thiết bị không có khối lượng là những thiết bị không xuất hiện dưới dạng ký tự ổ đĩa trong "My Computer". Chúng không được xử lý bởi bất kỳ phần nào của AutoRun - mọi hành động được thực hiện cho các thiết bị này được thực hiện bằng phần mềm thiết bị cụ thể hoặc bằng AutoPlay. Xem AutoPlay#Thiết bị không phải ổ đĩa.

Khi Explorer nhận được thông báo về thay đổi thiết bị, nó sẽ thực hiện một số tác vụ:[5][6]

  1. Kiểm tra xem nếu AutoRun đã bị vô hiệu hóa thông qua Registry. Nếu AutoRun bị vô hiệu hóa cho ổ đĩa hoặc loại ổ đĩa đó, Explorer sẽ không tiến hành thêm. Đã có các lỗi phần mềm trong phần này.
  2. Kiểm tra xem thư mục gốc của phương tiện được chèn có chứa tệp autorun.inf có thể đọc được không. Xem bên dưới.
  3. Gửi một tin nhắn QueryCancelAutoPlay đến cửa sổ nền trước. Một ứng dụng đã đăng ký quan tâm đến việc nhận tin nhắn này bằng cách sử dụng RegisterWindowMessage có thể trả lời tin nhắn này để tạm dừng AutoRun (và do đó tạm dừng AutoPlay) tại thời điểm này. Bất kỳ ứng dụng nào, có ở tiền cảnh hay không, cũng có thể được thông báo bằng cách sử dụng giao diện COM IQueryCancelAutoPlay có sẵn trong Windows XP và các phiên bản sau đó.
  4. Khi người dùng nhấp đúp vào biểu tượng ổ đĩa trong Explorer hoặc nhấp chuột phải để có được menu ngữ cảnh, điều gì xảy ra hoàn toàn có thể lập trình được bằng các cài đặt trong tệp autorun.inf.
  5. Thêm một biểu tượng điều khiển autorun.inf và văn bản mô tả vào biểu tượng ổ đĩa.
  6. Kiểm tra xem the phím Shift có được giữ không. Nếu đó là sau đó Windows Vista (và sau này là phiên bản Windows) sẽ gọi hộp thoại AutoPlay bất kể cài đặt ngược lại. Các phiên bản trước của Windows sẽ không tiếp tục với quá trình này.
  7. Cuối cùng, nếu đến được mục này, thực hiện một trong các hành động:
    • không thực hiện thêm hành động nào.
    • thực hiện nhiệm vụ của "AutoRun", ứng dụng được chỉ định tùy ý trong các khóa mở hoặc các phím xếp chồng trong phần [autorun] của autorun.inf.
    • gọi AutoPlay